package org.dromara.patrol.api;

import org.dromara.patrol.api.domain.bo.RemotePatrolSubtaskBo;
import org.dromara.patrol.api.domain.vo.RemotePatrolSubtaskVo;
import org.dromara.patrol.api.domain.vo.RemotePatrolTaskVo;

import java.util.List;
import java.util.Map;

/**
 * 巡店任务子任务（非主任务）服务
 *
 */
public interface RemotePatrolSubtaskCommonService {

    /**
     * 定时任务专用-创建巡店任务子任务（非主任务）
     * @param remotePatrolSubtaskBo
     * @return
     */
    List<RemotePatrolSubtaskVo> createNonMainPatrolSubtask(RemotePatrolSubtaskBo remotePatrolSubtaskBo);

    /**
     * 定时任务专用-更新巡店任务子任务（非主任务）
     * @param id
     * @return
     */
    Boolean updateNonMainPatrolSubtask(Long id);

    /**
     * 定时任务专用-更新巡店任务子任务（主任务）
     * @param id
     * @return
     */
    Boolean updateMainPatrolTask(Long id);

    /**
     * 定时任务专用-更新巡店子任务（非主任务）定时任务id
     * @param vo
     * @return
     */
    Boolean updateCyclicTaskById(List<RemotePatrolSubtaskVo> vo);

    /**
     * 巡店报告获取巡店任务名称
     * @param ids
     * @return
     */
    Map<Long, String> getPatrolTaskNameMap(List<Long> ids);

    /**
     * 巡店报告获取巡店任务信息
     * @param id
     * @return
     */
    RemotePatrolTaskVo getPatrolTaskInfoList(Long id);

    /**
     * 删除门店联动处理巡店任务
     * @param storeId
     * @return
     */
    Boolean deleteStoreLinkageHandleTask(Long storeId);

}
